Journal Vulkan 1.0
Voilà, c'est fait, Vulkan sort enfin en première version publique. Vulkan est une API graphique conçue par le Khronos Group, les mêmes qui conçoivent la grande famille OpenGL. Vulkan remplacera-t-il OpenGL ? Dans l'immédiat non. Dans le futur, peut-être. Vulkan est plus bas niveau qu'OpenGL et donc ne s'adresse pas forcément au même public. Vulkan est aussi bien plus complexe vu de loin (la «quick reference» fait quand même 13 pages, là où celle d'OpenGL ES2 en fait 4).
Les pilotes graphiques libres : rétrospective et vue sur l’avenir
Cette année 2015 fut très riche et très excitante au sujet des pilotes graphiques libres. Grosse nouveauté, Mesa 3D 11 a été annoncée le 12 septembre 2015, avec une prise en charge d’OpenGL 4.2, après une très longue stagnation en version 3.3.
Cette dépêche fait donc la part belle aux récentes nouveautés de Mesa 3D, mais s’attarde aussi sur les actualités des puces graphiques embarquées, et se permet quelques incursions du côté de certains pilotes propriétaires dans leur collaboration avec les projets libres ou leurs initiatives qui profitent à tous.
Pour finir, nous nous permettrons d’annoncer quelques actualités à venir ayant pris racine en 2015.
Merci à tous les contributeurs de cette rétrospective !
Journal Nintendo et le libre : peut-être ?
Journal Vulkan le successeur d'OpenGL
Une information qui a son importance dans la pile graphique de Linux, le 3 mars 2015, le Khronos Group, un consortium industriel qui gère entre autre les standards OpenGL, OpenGL ES, OpenCL et WebGL a dévoilé l'API qui devrait succéder à OpenGL à savoir Vulkan, , sa prochaine génération d'API de haute performance dédiée au graphisme 3D et au calcul GPU.
Mesa 9.0 est sorti : OpenGL 3.1, OpenCL, VDPAU…
Nous avions relayé au mois d’août la publication des spécifications OpenGL 4.3 et OpenGL ES 3.0 par le Groupe Khronos.
Mesa, une implémentation libre de la spécification pour plates‐formes de type Unix, comme GNU/Linux, vient de sortir en version 9.0, offrant notamment la prise en charge de la version 3.1 d’OpenGL datant du 24 mars 2009. Du fait de cette importante mise à jour, Mesa 8.1 sort finalement sous le nom de Mesa 9.0.
Spécifications de OpenGL 4.0
Cette version 4.0 apporte son lot de nouveautés :
- Amélioration de l'interopérabilité avec OpenCL, sans recourir au CPU ;
- Amélioration du rendu via le passage des opérations en virgule flottante du format simple précision au format double précision ;
- Et, bien sûr, le très attendu (essentiellement par les programmeurs de jeux) support de la tessellation ! La tessellation est le pavage en français ou encore tiling en anglais. OpenGL la proposait déjà mais seulement via une extension fournie par AMD donc uniquement disponible pour les cartes ATI compatibles. OpenGL rattrape ainsi DirectX 11 qui propose déjà la tessellation. Par exemple, ce journal de début d'année sur DLFP évoquait les différences entre bibliothèques de jeux.
OpenGL 3.3 a été livré à la même occasion, ayant pour but de rétroporter un maximum de nouveautés 4.0 pour les vieux GPU.
NdM : ce sujet n'est plus de toute fraîcheur, mais il nous a paru intéressant de lancer le débat.
Publication d'OpenGL 3.2
Il s'agit de la dixième version publiée depuis la sortie de la version 1.0 en 1992 et de la troisième en seulement 1 an (la 3.0 étant parue le 02 août 2008 et la 3.1 le 24 mars 2009).
Cette parution confirme le bien-fondé du passage de l'OpenGL ARB originel, chapeauté par SGI, à celui du Khronos Group qui visait à en accélérer le développement, et ce malgré la (relative) longue attente de la version 3.0.
Le travail sur la norme OpenGL est conjoint à :
- OpenGL ES (API graphique destinée à l'embarqué),
- OpenCL (API dédiée à la parallélisation des calculs, notamment via les processeurs graphiques)
- et depuis peu à webGL (visant à permettre l'utilisation de la 3D directement au sein des navigateurs).
OpenCL, en version 1.0
Le but de ce projet est de permettre aux développeurs de tirer parti des énormes capacités de calcul des processeurs graphiques (GPUs) d'aujourd'hui. En effet, sauf quand une application graphique est lancée (un jeu par exemple), cette puissance de calcul reste inutilisée pour la plupart du temps. On appelle ce genre de technique, qui consiste finalement à détourner l'utilisation principale d'un processeur graphique, « General Purpose Computing on Graphics processing Units » ou tout simplement, GPGPU.
OpenCL permet donc de consolider la puissance de calcul absolue des machines en utilisant le GPU comme un simple CPU, et donc d'utiliser ce CPU « virtuel » pour les besoins de n'importe quel type d'application. Cette technologie sera incluse dans Mac OS X v10.6 (Snow Leopard) et normalement strictement transparente pour les applications. Le package OpenCL + transparence pour les programmes répond au doux nom marketing « Grand central », et ce regroupement ne sera évidemment pas libre. Cependant, rien n'empêchera au monde du libre de l'adapter dans un « Grand Central » complètement libre.
La spécification est définie comme ouverte et libre de droit. Malheureusement, il m'a été impossible de trouver une quelconque licence ou de quelconques démos. Confidentialité sur Snow Leopard oblige...
Cependant, un grand nombre d'acteurs se sont joints au projet et aujourd'hui on trouve, entre autres : Apple, AMD, NVIDIA, Intel, Broadcom, Blizzard, EA, Ericsson, IBM, Movidia, Nokia, Sony, Symbian, Texas Instruments. Bref, on ne trouve que du beau monde.
Cette technologie, définie comme indépendante du matériel, pourra potentiellement donner un grand coup de fouet aux capacités de calcul de nos machines actuelles. Il ne reste plus qu'à espérer qu'elle soit réellement « open and royalty-free ».
NdM : Afin d'éviter que CUDA (la technologie propriétaire qui est soutenue par NVidia) ne s'empare totalement de ce nouveau marché, les autres acteurs se sont regroupés derrière la bannière d'OpenCL. Cette technologie va donc bien au delà de MacOS X et elle va sans doute devenir "la" technologie de GPGPU sur les systèmes libres.
Mesa 7.0 : OpenGL 2.0 et 2.1
Cette version ajoute la prise en charge complète d'OpenGL 2.0 et 2.1 par les pilotes GLX, OffScreen et Win32. La gestion des différentes fonctions OpenGL dépendant ensuite du matériel.
Une bonne nouvelle est le travail effectué sur le pilote R300 pour les ATI Radeon 9600 à X850). Il a reçu pas mal de nettoyage. Ce pilote est connu pour être à la fois fonctionnel mais aussi plutôt désordonné, ceci étant surtout due au manque de spécification et aux affres de la rétro ingénierie (voir aussi le pilote avivo pour R500/R600, intégré à Xorg).
Il ne manque plus que les spécifications des matériels pour pouvoir en tirer partie dans DRI. On attend toujours un geste de la part d'nVidia et d'AMD, SIS, VIA et d'autres, Intel faisant figure de bon élève …
NdM: Chaque composante de Mesa possède une licence différente des autres morceaux (voir la page sur les licences). Si on excepte les parties démo, les licences principales sont : MIT pour le coeur, SGI Free B pour les parties développées par SGI, GNU LGPL pour la bibliothèque Mesa GLU et un copyright de Mark Kilgard pour GLUT.
OpenML 1.0 SDK (alpha)
Pour rappel, OpenML est un pendant multi-plateforme de Microsoft DirectX.
Ceci ne peut-être qu'une très bonne nouvelle car cela permettra enfin d'avoir un outil performant pour développer des applications multimédias sur différents OS/systèmes et ceci en limitant les modifications dans le code lors de la migration.
Pour le moment, le SDK est disponible uniquement pour Windows XP et Linux.
À noter qu'il est nécessaire de remplir un formulaire avec une adresse mail valide pour pouvoir télécharger le SDK.
Projet Khronos : ça bouge!
Ce projet a un objectif très difficile à atteindre : remplacer ni plus ni moins Direct X.
Il faut aussi ajouter que Khronos veut standardiser OpenML et OpenGL en un seul et unique système de développement, qui sera Cross Plateforme, allant de Be OS à Windows en passant par Mac OS et Linux OS.
Mais le plus notable c'est l'apparition d'un nouveau membre : NVidia, qui a aussi contribué pour le Dernier DirectX (Nvidia ne semble pas vouloir mettre tous ses oeufs dans le meme panier).
Peut être que ce nouveau membre a accéléré le projet. D'autres noms bien connus comme ATI, Sun, SGI participent à ce projet, accompagnés de 3D labs...
Si ce projet arrive à maturité, les portages seront bien plus faciles.
dmSDK de SGI passe en OpenSource
Ce sera la base de OpenML du Khronos Group (consortium de constructeurs/éditeurs audio/graphique/vidéo dont le but est l'interopérabilité totale des médias numériques).